.\" Modified Sat Jan 14 13:38:30 CST 2017 by caiwang213
.\"   <caiwang213@qq.com>
.\"
.TH git 2 2017-01-13 "Linux" "Linux Programmer's Manual"
.SH NAME
git \- linux git tool
.SH [获取取远端分支3个方法] 
.PD 0
.TP 55
.B 1. $ git checkout -b develop-john origin/develop-john
从远程分支origin/develop-john创建本地分支develop-john，并切换到develop-john，该操作默认已关联本地develop-john分支的upstream分支为origin/develop-john(可以用git config --list查看)，可以直接进行git push/pull操作.

.TP
.B 2. $ git fetch origin develop-john:develop-john
.TP
.B  \& \& \& $ git push -u origin develop-john
关联本地develop-john分支的upstream分支为origin/develop-john(可以用git config --list查看)，可以直接进行git push/pull操作.
.TP
.B  \& \& \& $ git checkout develop-john
.BR

.TP
.B 3. $ git fetch origin develop-john:develop-john
.TP
.B  \& \& \& $ git push --set-upstream origin develop-john
关联本地develop-john分支的upstream分支为origin/develop-john(可以用git config --list查看)，可以直接进行git push/pull操作.
.TP
.B  \& \& \& $ git checkout develop-john
.BR

.SH [创建远程分支3个方法] 
.PD 0
.TP 55 
.B 1. $ git branch develop
.TP
.B  \& \& \& $ git push -u origin develop
-u参数 关联本地develop分支的upstream分支为origin/develop
.TP
.B  \& \& \& $ git checkout develop

.TP
.B 2. $ git checkout -b develop
.TP
.B \& \& \& $ git push --set-upstream origin develop
--set-upstream 参数 关联本地develop分支的upstream分支为origin/develop

.SH [删除远程分支2个方法] 
.PD 0
.TP 55
.B 1. $ git branch -r -d orgin/dev-john
不能真正删除!! 只上清除git branch -r清单记录，git pull还可以拉取下来

.TP
.B 2. $ git push origin :dev-john
真正删除! 其他用户可以用git remote prune origin 进行更新

.SH [git fetch详解] 
.TP 55
git fetch 有4种用法
.TP 
.B 1. $ git fetch
更新git remote中远程origin下所有分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中(如果原来有会将原来的覆盖)，第一行为当前所有分支对应的最新commit-id,并且指定当前分支为后面merge操作的默认分支

.TP
.B 2. $ git fetch origin
等同git fetch

.TP
.B 3. $ git fetch origin develop-john
更新名称为origin的远程repo上的分支develop-john最新commit-id, 将其记录到.git/FETCH_HEAD文件中(如果原来有会将原来的覆盖, 记录将会只有一条)

.TP 
.B 4. $ git fetch origin develop-john:develop-jessica
更新名称为origin的远程repo上的分支develop-john最新commit-id, 将其记录到.git/FETCH_HEAD文件中(如果原来有会将原来的覆盖, 记录将会只有一条),并在本地创建develop-jessica分支

.SH [git push/pull与upstream & downstream] 
.PD 0
.TP
参考
.I https://segmentfault.com/a/1190000002783245
